Release 10.1A: OpenEdge Development:
Messaging and ESB
OpenEdge Adapter for SonicMQ
The OpenEdge Adapter for SonicMQ makes it possible for 4GL programmers, working with familiar Progress 4GL syntax and tools, to write applications that use JMS messaging to send messages to and receive messages from applications written in the 4GL or other languages.The OpenEdge Adapter for SonicMQ implements a robust 4GL-JMS API that provides access to almost all JMS messaging methods and functions from 4GL client applications. GUI, character-based, AppServer, and WebSpeed 4GL applications on all platforms supported for 4GL clients can participate in exchanging JMS messages.
A 4GL application written to take advantage of the 4GL-JMS API can talk with another application without knowing whether it is a 4GL or a non-4GL application. Java features are mapped to the Progress 4GL; for example, Java Enumeration Objects map to comma-separated lists in the Progress 4GL. In a Progress 4GL-to-4GL messaging situation, an application can package 4GL data within standard messages, for example, to send a temp table or a table.
The API is strongly integrated with the 4GL programming model and style. Applications use the Progress 4GL event model. 4GL procedures represent the JMS connection, Session objects, and Message objects. The 4GL programmer uses the methods in these objects for JMS message delivery, acknowledgement, and recovery. All objects are persistent procedures. The API supports the basic types of JMS messaging, Unified Domain, Point-to-Point (PTP) and Publish and Subscribe (Pub/Sub). 4GL applications can extend local publish and subscribe for distributed applications. For information on the OpenEdge Adapter for SonicMQ architecture, see OpenEdge Getting Started: Application and Integration Services .
OpenEdge Adapter for SonicMQ configuration and management
The OpenEdge Adapter for SonicMQ allows OpenEdge applications to communicate via JMS Messaging through SonicMQ. The OpenEdge Adapter for SonicMQ consists of three connection modes:
- OpenEdge Adapter for SonicMQ ClientConnect (ClientConnect) — ClientConnect is for OpenEdge clients and will run transparently as a background process in conjunction with a Progress 4GL client or OpenEdge Application Server agent process, with a single adapter process per client process. The application running on the 4GL client handles messaging control. ClientConnect takes little or no configuration.
- OpenEdge Adapter for SonicMQ ServerConnect (ServerConnect) — ServerConnect is for OpenEdge Application Servers (WebSpeed and AppServer). With this configuration there is a single adapter process per AppServer process, allowing multiple Application Server agents to connect to this single adapter process. ServerConnect is configured at the server.
Note: For BrokerConnect, the OpenEdge installation program creates one instance of the OpenEdge Adapter for SonicMQ. In most circumstances, this single adapter instance is sufficient. Although it is possible to create additional instances, there is normally no reason to run multiple OpenEdge Adapter for SonicMQ instances on the same host. Each instance of BrokerConnect runs as a broker process. This process is multi-threaded, with one thread for each active client application; it can connect to any SonicMQ Broker.- OpenEdge Adapter for SonicMQ BrokerConnect (BrokerConnect) — BrokerConnect is for 4GL client applications. It runs as a separate server process to handle OpenEdge client requests. BrokerConnect is a Unified Broker product, part of the AppServer administration framework. Thus, you can use the Progress Explorer in Windows, and the command-line tools
adaptconfigandadaptmanon all supported platforms, to manage BrokerConnect. You can also edit its properties in theubroker.propertiesfile. No configuration is required within the SonicMQ environment.For information on the OpenEdge Adapter for SonicMQ architecture, see OpenEdge Getting Started: Application and Integration Services .
OpenEdge Adapter for SonicMQ operation
Table 1–1 shows operation features for each connection mode.
To establish a connection and start a session, the client application identifies connection options as an argument to the
ptpsession,pubsubsession,jmssessionprocedure (depending on the chosen JMS messaging domain), specifies the appropriate SonicMQ Broker as an argument to the setBrokerURL procedure, and runs the beginSession procedure.Messages are processed when the application is in a
WAIT-FORor other IO-blocking state. Non-UI applications, such as AppServer processes or batch processes that cannot useWAIT FOR, can use the waitForMessages procedure, as can all GUI, character, AppServer, WebSpeed, and batch applications. Applications use the existing Progress 4GL error-handling mechanisms to deal with 4GL-JMS errors.After the application finishes executing, it calls deleteSession procedure to free adapter resources for use by other clients.
License availability
Your OpenEdge license agreement with Progress Software Corporation might limit the number of concurrent sessions that can exist between clients and the OpenEdge Adapter for SonicMQ. If so, the limit is programmatically enforced, meaning that users may encounter error conditions preventing them from running client applications.
If the OpenEdge Adapter for SonicMQ resources available under your organization’s license agreement are not sufficient to meet your usage requirements, please contact your Progress sales representative for information about options for increasing capacity.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |